《杀戮尖塔 2》毒雾与触媒的数学建模分析
1. 问题描述
设怪物当前有 层毒。
毒的基础机制为:
- 每回合结算一次毒;
- 每次造成等于当前毒层数的伤害;
- 每次结算后,毒层数减少 1。
例如,怪物有 5 层毒,在不再获得新毒的情况下,后续伤害依次为:
两张牌的效果如下:
- 毒雾:每回合施加 3 层毒;
- 触媒:每回合额外结算 2 次毒,即每回合共结算 3 次毒。
假设每回合的结算顺序为:
- 毒雾施加 3 层毒;
- 结算毒伤害;
- 每次结算后毒层数减少 1。
同时假设触媒一旦生效,之后每回合都会额外结算 2 次毒。
玩家 A 认为:
毒的总伤害是固定的,触媒只是把原本以后造成的伤害提前结算。
玩家 B 认为:
应该先利用毒雾叠高毒层,再使用触媒,这样能够发挥毒更强的能力。
这两个观点分别在不同前提下成立。
2. 基础状态模型
定义:
- :第 回合开始时、毒雾触发前的毒层数;
- :第 回合造成的毒伤害。
2.1 未使用触媒
毒雾先施加 3 层毒,因此毒结算前的毒层数为:
本回合造成的伤害为:
结算一次后,毒层数减少 1:
因此:
也就是说,在只有毒雾、没有触媒时,毒层数每回合净增加 2 层。
2.2 使用触媒后
触媒使毒每回合结算 3 次。
毒雾触发后有 层毒,三次结算的伤害分别为:
因此,本回合总伤害为:
化简得到:
三次结算后,毒层数共减少 3:
因此:
这意味着触媒生效以后:
- 毒雾每回合增加 3 层毒;
- 三次毒结算每回合消耗 3 层毒;
- 毒层数不再继续增长,而是维持不变。
这正是双方争论的核心。
3. 没有后续毒源时:玩家 A 正确
假设怪物当前有 层毒,之后不再获得任何新毒。
这些毒最终能够造成的总伤害为:
根据等差数列求和公式:
例如,10 层毒的总伤害为:
普通结算
伤害依次为:
触媒结算
每回合结算三次,伤害可能表现为:
两种情况下,总伤害均为:
从势能函数的角度看,一次普通毒结算满足:
触媒一次进行三次结算时满足:
因此,如果之后不再施加新毒,那么触媒不会改变已有毒的最终总伤害,只会让这些伤害更早出现。
所以,玩家 A 的观点在以下前提下成立:
毒层数固定,之后没有任何新的毒层加入。
4. 有持续毒雾时:玩家 B 正确
有毒雾时,系统不再是一个没有外部输入的封闭系统。
假设当前有 层毒,毒雾增加 3 层毒。毒的剩余总伤害从 增加到 。
毒雾新增的理论总伤害为:
代入势能函数:
化简得到:
因此,同样是施加 3 层毒,其增加的理论总伤害取决于当前已有的毒层数。
| 毒雾触发前的毒层数 | 毒雾新增的理论总伤害 |
|---|---|
| 0 | 6 |
| 5 | 21 |
| 10 | 36 |
| 20 | 66 |
这说明毒雾的收益不是固定的。
毒层数越高,新增加的毒层价值越高。
例如,从 层毒增加到 层毒时,毒的理论总伤害增量为:
即:
所以:
例如:
- 从 0 层增加到 1 层,只增加 1 点理论总伤害;
- 从 10 层增加到 11 层,会增加 11 点理论总伤害;
- 从 20 层增加到 21 层,会增加 21 点理论总伤害。
因此,“每层毒都具有固定价值”的理解并不准确。
5. 为什么过早使用触媒会降低长期收益
设某回合开始时,怪物有 层毒。
5.1 当前回合立即使用触媒
毒雾触发后,怪物有:
层毒。
三次结算造成的伤害为:
即:
结算后毒层数重新回到:
下一回合,毒雾仍然只能在 层毒的基础上继续施加毒。
5.2 等待一回合后再使用触媒
当前回合只进行一次普通毒结算。
本回合伤害为:
回合结束时,毒层数为:
因此,下一回合开始使用触媒时,基础毒层数比立即使用触媒高了 2 层。
触媒生效后,每回合伤害从:
提高为:
两者之差为:
所以:
这并不只是把现有伤害推迟到以后。
过早使用触媒还会阻止毒层继续增长,从而降低之后毒雾产生的新毒的价值。
6. 固定毒雾持续回合数时的严格结论
假设:
- 初始毒层数为 ;
- 毒雾还会触发 次;
- 触媒从第 回合开始生效;
- 毒雾停止后,允许剩余毒全部结算完毕。
比较两种方案:
- 第 回合使用触媒;
- 第 回合使用触媒。
如果第 回合不使用触媒,而是只正常结算一次,那么该回合结束时会比立即使用触媒多保留 2 层毒。
从第 回合开始,每次毒雾都在高 2 层的基础毒层上生效,因此每次毒雾新增的理论总伤害多出:
推迟后仍然存在的毒雾触发次数为:
因此,将触媒推迟一回合带来的最终总伤害增量为:
由此可得:
- 如果之后已经没有毒雾,即 ,推迟触媒不改变最终总伤害;
- 如果之后还有毒雾,即 ,推迟触媒会严格提高最终总伤害;
- 每多剩余一次毒雾,推迟一回合就会多获得 6 点理论总伤害。
因此,在“最大化最终理论总伤害”的目标下:
在这个意义上,玩家 B 的观点正确。
7. 固定战斗回合数时的模型
实际战斗中,不能只考虑所有毒最终结算完毕后的总伤害,还需要考虑限定回合内造成的伤害。
假设:
- 当前初始毒层为 ;
- 战斗最多还会持续 回合;
- 触媒从第 回合开始生效。
其中:
7.1 触媒生效前的伤害
在未使用触媒时,毒层数每回合净增加 2。
第 回合开始时的毒层数为:
毒雾触发后,本回合伤害为:
代入得到:
因此:
7.2 触媒生效后的伤害
触媒从第 回合开始生效。
第 回合开始时的毒层数为:
触媒生效后,毒层数不再增长,因此之后每回合的毒伤害固定为:
化简得到:
其中:
7.3 前 回合的累计伤害
触媒生效前共有 个回合,累计伤害为:
化简得到:
触媒生效后共有:
个回合,每回合伤害为:
因此,前 回合的总伤害为:
8. 应该在哪一回合使用触媒
比较:
- 第 回合使用触媒;
- 第 回合使用触媒。
两种方案的伤害差为:
化简可得:
因此:
推迟一回合更好
如果:
则:
此时应该继续叠毒,下一回合再使用触媒。
当前回合使用更好
如果:
则:
此时应该当前回合使用触媒。
两种时机相同
如果:
则:
两个使用时机的累计伤害相同。
最优触媒回合可以近似写为:
最后还要将结果限制在合法范围内:
如果分式结果恰好为整数,则相邻两个回合可能并列最优。
9. 示例:初始 0 层毒,战斗持续 5 回合
假设:
毒雾始终有效,战斗共持续 5 回合。
方案一:第一回合立即使用触媒
每回合毒雾增加 3 层毒,然后连续结算三次:
三次结算后毒层数重新回到 0。
因此,5 回合总伤害为:
方案二:前四回合叠毒,第五回合使用触媒
| 回合 | 毒雾触发后毒层 | 本回合伤害 | 回合结束毒层 |
|---|---|---|---|
| 1 | 3 | 3 | 2 |
| 2 | 5 | 5 | 4 |
| 3 | 7 | 7 | 6 |
| 4 | 9 | 9 | 8 |
第五回合毒雾触发后,毒层达到:
触媒造成的伤害为:
前 5 回合总伤害为:
相比第一回合立即使用触媒,多造成:
点伤害。
而且第五回合结束后,怪物仍有:
层毒。
只要毒雾和触媒继续生效,之后每回合仍然会造成:
点毒伤害。
这说明过早使用触媒会把毒层锁定在较低水平。
10. 示例:5 回合内不同触媒时机的比较
仍然设:
根据累计伤害公式:
可以计算:
| 触媒开始回合 | 前 5 回合总伤害 |
|---|---|
| 1 | 30 |
| 2 | 51 |
| 3 | 62 |
| 4 | 63 |
| 5 | 54 |
因此,在这个例子中,第 4 回合使用触媒最好。
这说明:
- 第一回合使用过早,毒层没有成长起来;
- 第五回合使用过晚,虽然单回合爆发很高,但剩余触媒回合太少;
- 最优时机通常位于“立即使用”和“最后使用”之间。
11. 当前回合是否应该使用触媒
设当前回合开始时有 层毒,当前回合之后还会继续战斗 个回合。
比较:
- 当前回合立即使用触媒;
- 当前回合正常结算,下一回合再使用触媒。
立即使用触媒的当前伤害
等待一回合的当前伤害
因此,等待一回合会暂时少造成:
即:
点即时伤害。
但是,等待一回合后会多保留 2 层毒,使之后每个触媒回合多造成:
点伤害。
如果等待后还有 个触媒回合,那么等待的长期收益为:
因此,等待一回合的净收益为:
等待一回合更好的条件为:
立即使用触媒更好的条件为:
两种方案等价的条件为:
12. 实战决策总结
适合立即使用触媒的情况
- 怪物剩余生命值较低;
- 当前毒层已经较高;
- 战斗预计很快结束;
- 怪物即将清除负面状态;
- 怪物即将进入无敌阶段或逃跑;
- 当前需要爆发伤害来避免受到致命攻击。
适合继续叠毒的情况
- 当前毒层较低;
- 怪物剩余生命值较高;
- 毒雾还会持续很多回合;
- 战斗预计还会持续较长时间;
- 当前没有迫切的爆发伤害需求。
只追求最终理论总伤害
如果不考虑战斗时间,并允许全部毒最终结算完毕,则应该:
追求最短击杀时间
设怪物剩余生命值为 。
需要对不同触媒时机 计算累计伤害,寻找最早满足以下条件的回合 :
此时的最优方案不一定是最早使用触媒,也不一定是最晚使用触媒。
13. 双方观点的判定
| 命题 | 判定 |
|---|---|
| 已有固定毒层的最终总伤害是固定的 | 正确 |
| 触媒对已有毒层主要是在提前结算 | 正确 |
| 有持续毒雾时,何时使用触媒都不影响总伤害 | 错误 |
| 等毒雾叠高后再使用触媒能提高长期收益 | 正确 |
| 任何情况下都应该尽可能晚使用触媒 | 错误 |
| 敌人血量较低时应倾向立即使用触媒 | 正确 |
| 敌人血量较高、战斗持续较久时应倾向先叠毒 | 正确 |
14. 最终结论
玩家 A 的说法只适用于没有后续毒源的封闭系统。
对于一组已经存在、之后不再增加的毒层,触媒确实只是在提前结算伤害,不会改变这些毒最终能够造成的总伤害。
但是,毒雾会持续向系统中加入新的毒层,而新增毒层的价值取决于当前已有毒层数。过早使用触媒会阻止毒层继续增长,从而降低之后每次毒雾产生的新毒的价值。
因此,在题目描述的持续毒雾环境中:
但在实际战斗中,最优触媒时机仍然取决于:
- 当前毒层;
- 怪物剩余生命值;
- 预计剩余回合数;
- 毒雾还会持续多久;
- 怪物是否会清除毒;
- 是否需要立即造成爆发伤害。
更完整的结论是:
触媒对当前已有毒层主要起到提前结算的作用,但它也会改变之后毒雾叠毒时的基础毒层,从而改变后续新增毒层的总价值。等待能够提高长期伤害,立即使用能够提高短期爆发。